package com.qili.entity.jc.dto;

import com.qili.annotation.Mean;
import com.qili.entity.jc.JcProject;
import com.qili.entity.jc.ProjectBcUnit;
import com.qili.entity.supervisor.ProjectContract;
import com.qili.entity.supervisor.dto.ProjectLeaderDTO;
import com.qili.entity.supervisor.dto.ProjectUnitConstructionDTO;
import com.qili.entity.supplier.dto.ProjectPlaceDTO;
import com.qili.entity.jc.JcProjectMilepost;
import com.qili.entity.jc.JcProjectStage;
import com.qili.entity.jc.dto.JcProjectPayDTO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * @author hanchen
 * @date 2020/10/27
 * @description
 */

@Data
public class JcProjectDTO extends JcProject {

    private String htMoneyMin;
    private String htMoneyMax;
    private String tzMoneyMin;
    private String tzMoneyMax;
    private String startDate;
    private String endDate;
    private String ids;
    private String destatus;
    private String type;// 上传的文件业务类型
    private int fileCount = -1;//文件类型中上传文件的数量 -1为不限制数量
    private String spmId;// 里程碑id
    private String stageId;//阶段id
    private String parentId;// 文件表 父级id
    private String positionName;// 图片部位
    private String uploadType;// 上传类型
    private String fbId;// 分包id
    private String fbCode;// 分包id
    private String projectId; // 项目id
    private String fileId; // 文件表id
    private String fileName; // 文件名称
    //--------处理表中的字典值---- start--------
    private String projectTypeName;// 项目类型名称
    private String projectSourceName;// 项目来源
    private String checkShapeName;// 监理形式名称
    private String isContinueName;// 是否续签
    private String hyTypeName;// 行业类型
    private String provinceName;// 省名称
    private String cityName;// 市名称
    private String countyName;// 县名称
    private String projectOwnerName;//项目所属公司名称
    private String supervisorCompanyName;// 公司名称
    private String projectManagerPersonName;//项目经理名称
    private String supervisorEngineerName;//总监理工程师名称
    private String secondSupervisorEngineerName;//监理工程师名称
    private String technologyPersonName;//技术负责人名称
    private String projectRole;//项目角色
    private String userId;
    private String  yzUserId;// 业主单位id
    private String  cjUserId;//承建单位id
    //--------处理表中的字典值---- end--------

    // 分包表
    private ArrayList<ProjectContract> projectContracts;
    // 分包编号
    private String code;
    // 序号
    private String orderNum;

    // 项目负责人表
    private ArrayList<ProjectLeaderDTO> projectLeaders;

    // 项目负责人
    private String projectLeader;

    // 职务
    private String duty;
    // 负责人的分包编号
    private String leaderFbNumber;
    // 分包编号
    private String leaderSubContractNumber;
    private List<String> leaderSubContractNumbers;

    // 承建单位
    private ArrayList<ProjectUnitConstructionDTO> projectUnitConstructions;
    // 分包编号
    private String constructionSubContractNumber;

    // 承建单位
    private String unitConstruction;

    //承建合同名称
    private String constructionContract;

    // 项目经理
    private String projectManager;

    // 开始时间
    private String startPeriod;

    // 结束时间
    private String endPeriod;

    // 承建合同额
    private String contractAmount;

    // 到货验收
    private String inspectionMerchandise;


    // 项目招标表
    @Mean(value = "项目阶段")
    private ArrayList<JcProjectStage> jcProjectStages;

    //项目数量
    private String number;
    //评分
    private String speLevel;

    // 招标名称
    private String zbName;

    // 阶段编号 现在是编号
    private String stageNo;
    // 之前写入的是id
    private String baseStageId;

    private String badtName;

    // 项目阶段表
    private ArrayList<JcProjectMilepost> jcProjectMileposts;

    // 里程编号 相对应的是 base_milepost: milepost_no
    private String spMilepostNo;

    //  项目阶段百分比
    private BigDecimal percentage;

    // 页面阶段id
    private ArrayList<String> supervisorStageIds;
    // 里程碑编号
    private ArrayList<String> milpostNos;
    // 里程碑百分比
    private ArrayList<String> milpostbfbs;

    private ArrayList<String> zongshus;
    @Mean(value = "付款节点")
    private ArrayList<JcProjectPayDTO> payList;
    //支付金额
    private  String  paymoney;
    //支付Id
    private  String  sppId;
    //流程类型
    private  String  lcType;
    // 实施地点
    List<ProjectPlaceDTO>  projectPlacedtos;
    // 是否延期
    private  String  isYq;
    // 支付类型
    private  String  zfType;
    // 最小投资额
    private  String  minTzMoney;
    // 最大投资额
    private  String  maxTzMoney;


    private  String  cpName;
    private  String  modelName;
    private  String  xhName;
    private  String  jsNum;
    private  String  proNum;
    private  String  num;
    private  String  minNum;
    private  String  maxNum;
    private  String  minProjectName;
    private  String  minJsName;
    private  String  maxProjectName;
    private  String  maxJsName;
    // 完成率
    private  String  finishLv;
    private  String  totalNum;
    private  String  finishNum;
    private  String  exCode;
    // 已开发票金额
    private  String  ykfpje;
    // 未开发票金额
    private  String  wkfpje;
    // 已回款金额
    private  String  yhkje;
    // 已回款比例
    private  String  yhkbl;

    // 待回款金额
    private  String  dhkje;
    // 待回款比例
    private  String  dhkbl;
    // 回款及时性
    private  String  hkjsx;
    //项目进度 最小值 最大值
    private String progressMin;
    private String progressMax;
    //监理 最小值 最大值
    private String   jlFwMoneyMin;
    private String   jlFwMoneyMax;
    private String ppzb;

    private String priceqj;

    private String jcAdviserName;

    private String industryPersonName;

    private ArrayList<ProjectBcUnit> bcList;

    private String ywName;

    //排序用的字段
    private String field;
    //    排序用的方式
    private String order;

    private String qfbl;

    private String year;

    private  String querytype;


    private  String totalWdNum;
    //回款比例最小值和最大值
    private   String  hkblmin;
    private   String  hkblmax;
    // 回款比例
    private   String  hkbl;
    private   String  qfblmin;
    private   String  qfblmax;

    // 文件统计开始时间
    private   String  startWjDate;

    // 文件统计结束时间
    private   String  endWjDate;

    private   String  tjType;
    //开始文件数量
    private   String  startWjNum;
    // 结束文件数量
    private   String  endWjNum;
    // 文件更新数量
    private   String  updateWjNum;








}
